package com.zhijian.medical.entity.po;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 考核主表
 *
 * @author Auto Generator
 * @date 2023-01-31 17:01:19
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Api(tags = "考核主表")
public class Assessment {
    /**
     * 主键id
     */
    @ApiModelProperty("主键id")
    private Long id;

    /**
     * 名称
     */
    @ApiModelProperty("名称")
    @NotBlank(message = "名称不能为空")
    private String name;

    /**
     * 开始时间
     */
    @ApiModelProperty("开始时间")
    @NotNull(message = "开始时间不能为空")
    private Date startTime;

    /**
     * 结束时间
     */
    @ApiModelProperty("结束时间")
    @NotNull(message = "结束时间不能为空")
    private Date endTime;

    /**
     * 考生id集合，以英文逗号隔开
     */
    @ApiModelProperty("考生id集合，以英文逗号隔开")
    private String doPersonIds;

    /**
     * 阅卷人id集合，以英文逗号隔开
     */
    @ApiModelProperty("阅卷人id集合，以英文逗号隔开")
    private String reviewerIds;

    /**
     * 类型，0：题库（试卷），1：数字切片
     */
    @ApiModelProperty("类型，0：题库（试卷），1：数字切片")
    private Byte type;

    /**
     * 题库id
     */
    @ApiModelProperty("题库id")
    private Long examWarehouseId;

    /**
     * 切片类型
     */
    @ApiModelProperty("切片类型")
    private String digitalSliceCaseType;

    /**
     * 切片id集合，以英文逗号隔开
     */
    @ApiModelProperty("切片id集合，以英文逗号隔开")
    private String digitalSliceCaseIds;

    /**
     * 状态，0：未开始，1：进行中，2：已结束
     */
    @ApiModelProperty("状态，0：未开始，1：进行中，2：已结束")
    @NotNull(message = "状态，0：未开始，1：进行中，2：已结束不能为空")
    private Byte status;

    /**
     * 合格线
     */
    @ApiModelProperty("合格线")
    private Integer acceptanceLine;

    /**
     * 创建人id
     */
    @ApiModelProperty("创建人id")
    private Long createUserId;

    /**
     * 创建人姓名
     */
    @ApiModelProperty("创建人姓名")
    private String createUserName;

    /**
     * 人员类型，0：在职员工，1：规培生，2：进修生，3：研究生
     */
    @ApiModelProperty("人员类型，0：在职员工，1：规培生，2：进修生，3：研究生")
    private Byte userType;

    /**
     * 二维码地址，目前只有专项培训人员有
     */
    @ApiModelProperty("二维码地址，目前只有专项培训人员有")
    private String qrFilePath;

    /**
     * 学习班ID
     */
    @ApiModelProperty("学习班ID")
    private Long studyClassId;

    /**
     * 组ID数组
     */
    @ApiModelProperty("组ID数组")
    private String groupIds;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    private Date updateTime;
}